package HLCode;

public interface HLCustomFunction_H {
    final public static int //
            ASM_TYPE_STATIC_CALL = 0,//
            ASM_TYPE_CALL = 1,//
            ASM_TYPE_JUMP_WITH_CONDITION = 2,//
            ASM_TYPE_JUMP = 3,//
            ASM_TYPE_RETURN = 4,//
            ASM_TYPE_RETURN_INT = 5,//
            ASM_TYPE_RETURN_BOOL = 6,//
            ASM_TYPE_RETURN_OBJECT = 7,//
            ASM_TYPE_SET_INT = 8,//
            ASM_TYPE_SET_BOOL = 9,//
            ASM_TYPE_SET_OBJECT = 10,//
            ASM_TYPE_SET_STRING = 11,//
            ASM_TYPE_NEW_OBJECT = 12,//
            ASM_TYPE_SWITCH = 13,//
            ASM_TYPE_STATIC_CALL_WITH_RESULT = 14,//
            ASM_TYPE_CALL_WITH_RESULT = 15,//
            ASM_TYPE_COUNT = 16;//

    final public static int //
            JUMP = 0,//
            JUMP_EQUAL = 1,//
            JUMP_NOT_EQUAL = 2,//
            JUMP_MORE_THAN = 3,//
            JUMP_NOT_MORE_THAN = 4,//
            JUMP_LESS_THAN = 5,//
            JUMP_NOT_LESS_THAN = 6;//

    final public static int //
            OWNER_OBJECT_TYPE_TEMP = 0,//
            OWNER_OBJECT_TYPE_ARGS = 1,//
            OWNER_OBJECT_TYPE_MEMBER = 2,//
            OWNER_OBJECT_TYPE_CLASS = 3,//
            OWNER_OBJECT_TYPE_THIS = 4,//
            OWNER_OBJECT_TYPE_IMMEDIATE_BYTE = 5,//
            OWNER_OBJECT_TYPE_IMMEDIATE_SHORT = 6,//
            OWNER_OBJECT_TYPE_IMMEDIATE_INT = 7,//
            OWNER_OBJECT_TYPE_IMMEDIATE_BOOL = 8,//
            OWNER_OBJECT_TYPE_IMMEDIATE_NULL = 9,//
            OWNER_OBJECT_TYPE_IMMEDIATE_VOID = 10,//
            OWNER_OBJECT_TYPE_COUNT = 11;//

    final public static int //
            RESULT_TYPE_NULL = -1,//
            RESULT_TYPE_VOID = 0,//
            RESULT_TYPE_INT = 1,//
            RESULT_TYPE_BOOLEAN = 2,//
            RESULT_TYPE_OBJECT = 3,//
            RESULT_TYPE_COUNT = 4;//
}
